#include <iostream>
#include <ostream>

#include "Node.h"

Node::Node(){
  value = -1;
  color = -1;
}

Node::Node(int v, Color c){
  value = v;
  color = c;
}

Node::Node(const Node &n){
  value = n.getValue();
  color = n.getColor();
}

Node::~Node(){

}

int Node::setValue(int v){
  value = v;
  return v;
}

int Node::getValue() const{
  return value;
}

Color Node::setColor(Color c){
  color = c;
  return c;
}

Color Node::getColor() const{
  return color;
}

std::ostream& operator <<(std::ostream& out, const Node &n){
  out << "[Value : "<< n.getValue() << ", Color : " << n.getColor() << ", @ :" << &n << "]";
  return out;

}

bool operator ==(const Node &a, const Node &b){
  return (a.getValue() == b.getValue()) && (a.getColor() == b.getColor());

}

